home *** CD-ROM | disk | FTP | other *** search
/ PC for Alla 2005 May / PC för Alla 0505.iso / fullversioner / realsoft3d / data1.cab / Scripting / scripts / js / real / code / r3curve.js < prev    next >
Encoding:
JavaScript  |  2005-04-04  |  21.1 KB  |  701 lines

  1.  
  2. // JavaScript wrapper for r3curve.h
  3. // Auto generated file, do not modify by hand
  4. // Copyright ⌐ 2004, Realsoft Graphics Oy
  5.  
  6. var R3_CURVE_H = 1;
  7. include("oops/r3model.js")
  8.  
  9.  
  10. var R3CLID_CURVE = 49;
  11.  
  12.  
  13.  
  14.  
  15. // Description: Transform given integer value. If the curve consist of more than one curve, the
  16. //      first curve is used for transforming. The second and third curves has no effect.
  17. // p3: Integer[], value to be transformed.
  18.  
  19. R3CURVM_TRANSFORM_I = 49000;
  20.  
  21. function mR3CURVM_TRANSFORM_I(p3) {
  22.   DoA(this.r3obj, 49000, p3, R3TID_INTEGER, R3TNF_ARRAY);
  23. }
  24.  
  25. // Description: Transform given R3FLOAT
  26. // p3: Number, float value to be transformed
  27.  
  28. R3CURVM_TRANSFORM_F = 49001;
  29.  
  30. function mR3CURVM_TRANSFORM_F(p3) {
  31.   DoA(this.r3obj, 49001, p3, R3TID_FLOAT, 0);
  32. }
  33.  
  34. // Description: Transform vector value.
  35. // p3: r3Vect, vector to be transformed
  36.  
  37. R3CURVM_TRANSFORM_V = 49002;
  38.  
  39. function mR3CURVM_TRANSFORM_V(p3) {
  40.   DoA(this.r3obj, 49002, p3, R3TID_VECTOR, 0);
  41. }
  42.  
  43. // Description: Transform R3FLOATCOLOR3 value
  44. // p3: r3Vect, color to be transformed
  45.  
  46. R3CURVM_TRANSFORM_C = 49003;
  47.  
  48. function mR3CURVM_TRANSFORM_C(p3) {
  49.   DoA(this.r3obj, 49003, p3, R3TID_COLOR_RGB, 0);
  50. }
  51.  
  52. // Description: Transform float value using ordnum defining the curve to be used.
  53. // p1: Number, float to be transformed
  54. // p3: Integer, ordnum of the curve 0, 1, 2.
  55.  
  56. R3CURVM_TRANSFORM_FN = 49004;
  57.  
  58. function mR3CURVM_TRANSFORM_FN(p1, p3) {
  59.   DoA2(this.r3obj, 49004, p1, R3TID_FLOAT, 0, p3, R3TID_INTEGER, 0);
  60. }
  61.  
  62. // Description: Make all curves 'flat' - all points will get y coordinate of the first
  63. //      point.
  64. // p3: Integer, sub curve disable bits (e.g. 3 = two first sub curves won't change)
  65.  
  66. R3CURVM_FLATLINES = 49005;
  67.  
  68. function mR3CURVM_FLATLINES(p3) {
  69.   DoA(this.r3obj, 49005, p3, R3TID_INTEGER, 0);
  70. }
  71.  
  72. // Description: Adds new point into the curve provided the curve doesn't already pass through the
  73. //      given point.
  74. // Returns: Boolean, returns true if point was added, false if not
  75. // p1: Integer, type id R3TID_FLOAT, R3TID_VECTOR, R3TID_VECTOR4, R3TID_INTEGER, R3TID_BOOLEAN, R3TID_ENUM
  76. // p2: Object, x value, parameter type must correspond to type id specified in p1
  77. // p3: Object, y value, parameter type must correspond to type id specified in p1    
  78.  
  79. R3CURVM_ADDPOINTIFNOTONLINE = 49006;
  80.  
  81. function mR3CURVM_ADDPOINTIFNOTONLINE(p1, p2, p3) {
  82.   return   DoA3(this.r3obj, 49006, p1, R3TID_INTEGER, 0, p2, R3TID_OBJECT, 0, p3, R3TID_OBJECT, 0);
  83. }
  84.  
  85. // Description: Adds new point into the curve provided the curve passes through the point.
  86. // Returns: Boolean, returns true if point was added, false if not.
  87. // p1: Integer, type id R3TID_FLOAT, R3TID_VECTOR, R3TID_VECTOR4, R3TID_INTEGER, R3TID_BOOLEAN, R3TID_ENUM
  88. // p2: Object, x value, parameter type must correspond to type id specified in p1
  89. // p3: Object, y value, parameter type must correspond to type id specified in p1    
  90.  
  91. R3CURVM_ADDPOINTIFONLINE = 49007;
  92.  
  93. function mR3CURVM_ADDPOINTIFONLINE(p1, p2, p3) {
  94.   return   DoA3(this.r3obj, 49007, p1, R3TID_INTEGER, 0, p2, R3TID_OBJECT, 0, p3, R3TID_OBJECT, 0);
  95. }
  96.  
  97.  
  98. R3CURVM_ADDPOINT = 49008;
  99.  
  100. function mR3CURVM_ADDPOINT() {
  101.   DoA(this.r3obj, 49008, 0, R3TID_INTEGER, 0);
  102. }
  103.  
  104. // Description: Evaluate curve to drawable polygon in XY points.
  105. // Returns: Integer, number of evaluated points
  106. // p1: Integer, curve index (0, 1, 2)
  107. // p2: r3Vect, result points
  108. // p3: Integer, buffer size, maximum number of points to be evaluated
  109.  
  110. R3CURVM_EVALXYPOINTS = 49009;
  111.  
  112. function mR3CURVM_EVALXYPOINTS(p1, p2, p3) {
  113.   return   DoA3(this.r3obj, 49009, p1, R3TID_INTEGER, 0, p2, R3TID_VECTOR, 0, p3, R3TID_INTEGER, 0);
  114. }
  115.  
  116. // Description: Derive curve.
  117. // p1: r3Vect, parameter value
  118. // p3: r3Vect, result
  119.  
  120. R3CURVM_DERIVE = 49010;
  121.  
  122. function mR3CURVM_DERIVE(p1, p3) {
  123.   DoA2(this.r3obj, 49010, p1, R3TID_VECTOR, 0, p3, R3TID_VECTOR, 0);
  124. }
  125.  
  126. // Description: Set derivative of the curve. The curve points will be modified so that the
  127. //      given derivative achieved.
  128. // p1: r3Vect, parameter value
  129. // p2: Integer, sub curve disable bits
  130. // p3: r3Vect, derivative correspondin the parameter value.
  131.  
  132. R3CURVM_SETDERIVATIVE = 49011;
  133.  
  134. function mR3CURVM_SETDERIVATIVE(p1, p2, p3) {
  135.   DoA3(this.r3obj, 49011, p1, R3TID_VECTOR, 0, p2, R3TID_INTEGER, 0, p3, R3TID_VECTOR, 0);
  136. }
  137.  
  138. // Description: Transform vector value.
  139. // p3: r3Vect4, vector to be transformed
  140.  
  141. R3CURVM_TRANSFORM_V4 = 49012;
  142.  
  143. function mR3CURVM_TRANSFORM_V4(p3) {
  144.   DoA(this.r3obj, 49012, p3, R3TID_VECTOR4, 0);
  145. }
  146.  
  147. // Description: Transform R3FLOATCOLOR value
  148. // p3: r3Vect4, color to be transformed
  149.  
  150. R3CURVM_TRANSFORM_C4 = 49013;
  151.  
  152. function mR3CURVM_TRANSFORM_C4(p3) {
  153.   DoA(this.r3obj, 49013, p3, R3TID_COLOR_RGBA, 0);
  154. }
  155.  
  156. // Description: Scale all X values of points with given factor
  157. // p1: Number, center of scaling
  158. // p2: Integer, sub curve disable bits (0=scale all)
  159. // p3: Number, scaling factor
  160.  
  161. R3CURVM_SCALEPOINTSX = 49014;
  162.  
  163. function mR3CURVM_SCALEPOINTSX(p1, p2, p3) {
  164.   DoA3(this.r3obj, 49014, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  165. }
  166.  
  167. // Description: Adds a new point to given x value by copying the y value of
  168. //      first point
  169. // p1: Integer, sub curve disable bits (0=scale all)
  170. // p3: Number, parameter (=x) value where to add the point    
  171.  
  172. R3CURVM_ADDFIRSTTOEND = 49015;
  173.  
  174. function mR3CURVM_ADDFIRSTTOEND(p1, p3) {
  175.   DoA2(this.r3obj, 49015, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  176. }
  177.  
  178. // Description: Adds a new point to given x value by copying the y value of
  179. //      the last point
  180. // p1: Integer, sub curve disable bits (0=scale all)
  181. // p3: Number, parameter (=x) value where to add the point    
  182.  
  183. R3CURVM_ADDLASTTOBEGINNING = 49016;
  184.  
  185. function mR3CURVM_ADDLASTTOBEGINNING(p1, p3) {
  186.   DoA2(this.r3obj, 49016, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  187. }
  188.  
  189. // Description: Remove unnecessary points.
  190. // p3: Integer, mask bits defining which sub curves should be skipped (0=simplify all)    
  191.  
  192. R3CURVM_SIMPLIFY = 49019;
  193.  
  194. function mR3CURVM_SIMPLIFY(p3) {
  195.   DoA(this.r3obj, 49019, p3, R3TID_INTEGER, 0);
  196. }
  197.  
  198. // Description: Set currently active point
  199. // p1: Integer, curve index
  200. // p2: Integer, point index
  201. // p3: Boolean, TRUE sets FALSE resets    
  202.  
  203. R3CURVM_SETACTIVE = 49020;
  204.  
  205. function mR3CURVM_SETACTIVE(p1, p2, p3) {
  206.   DoA3(this.r3obj, 49020, p1, R3TID_INTEGER, 0, p2, R3TID_INTEGER, 0, p3, R3TID_BOOLEAN, 0);
  207. }
  208.  
  209. // Description: Scale and translate all X values of points: new_x = old_x*scale + translate
  210. // p1: Number, translate
  211. // p2: Integer, disable bits
  212. // p3: Number, scale
  213.  
  214. R3CURVM_TRANSFORMPOINTSX = 49021;
  215.  
  216. function mR3CURVM_TRANSFORMPOINTSX(p1, p2, p3) {
  217.   DoA3(this.r3obj, 49021, p1, R3TID_FLOAT, 0, p2, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  218. }
  219.  
  220. // Description: Unselect all points of given sub curves
  221. // p3: Integer, disable bits - if 0 all points of all sub curves become unselected    
  222.  
  223. R3CURVM_UNSELECTALL = 49022;
  224.  
  225. function mR3CURVM_UNSELECTALL(p3) {
  226.   DoA(this.r3obj, 49022, p3, R3TID_INTEGER, 0);
  227. }
  228.  
  229. // Description: Select points 'very near' the given x coordinate
  230. // Returns: Boolean, TRUE if points became selected
  231. // p1: Integer, disable bits. If 0 all sub curves checked
  232. // p3: Number, x coordinate    
  233.  
  234. R3CURVM_SELECTBYX = 49023;
  235.  
  236. function mR3CURVM_SELECTBYX(p1, p3) {
  237.   return   DoA2(this.r3obj, 49023, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  238. }
  239.  
  240. // Description: Translate curve points in x direction.
  241. // p1: Integer, disable bits,
  242. // p3: Number, delta    
  243.  
  244. R3CURVM_TRANSLATESELECTEDX = 49024;
  245.  
  246. function mR3CURVM_TRANSLATESELECTEDX(p1, p3) {
  247.   DoA2(this.r3obj, 49024, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  248. }
  249.  
  250. // Description: Delete select points
  251. // p3: Integer, sub curve disable bits: 0=delete from all curves    
  252.  
  253. R3CURVM_DELETESELECTEDPOINTS = 49025;
  254.  
  255. function mR3CURVM_DELETESELECTEDPOINTS(p3) {
  256.   DoA(this.r3obj, 49025, p3, R3TID_INTEGER, 0);
  257. }
  258.  
  259. // Description: Set x coordinate for the selected points.
  260. // p1: Integer, disable bits
  261. // p3: Number, new x value    
  262.  
  263. R3CURVM_SETSELECTEDX = 49026;
  264.  
  265. function mR3CURVM_SETSELECTEDX(p1, p3) {
  266.   DoA2(this.r3obj, 49026, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  267. }
  268.  
  269. // Description: Delete all curve points
  270.  
  271. R3CURVM_DELETEALLPOINTS = 49027;
  272.  
  273. function mR3CURVM_DELETEALLPOINTS() {
  274.   DoA(this.r3obj, 49027, 0, R3TID_INTEGER, 0);
  275. }
  276.  
  277. // Description: Set new min / max limits for the curve. If R3CURVA_Rescale is TRUE,    * curve
  278. //      points are scaled accordingly.
  279. // p3: Tag[], tag list specifying the following tags: R3CURVA_MaxX, R3CURVA_MinX, R3CURVA_MaxY, R3CURVA_MinY, R3CURVA_Rescale. 
  280.  
  281. R3CURVM_SETMINMAX = 49028;
  282.  
  283. function mR3CURVM_SETMINMAX(p3) {
  284.   Do(this.r3obj, 49028, p3, R3TID_TAG, R3TNF_ARRAY);
  285. }
  286.  
  287. // Description: Duplicate selected points
  288. // p1: Integer, disable bits
  289. // p3: Boolean, if true, newly created points are selected    
  290.  
  291. R3CURVM_DUPLICATESELECTEDPOI = 49029;
  292.  
  293. function mR3CURVM_DUPLICATESELECTEDPOI(p1, p3) {
  294.   DoA2(this.r3obj, 49029, p1, R3TID_INTEGER, 0, p3, R3TID_BOOLEAN, 0);
  295. }
  296.  
  297. // p1: Integer, disable bits
  298. // p3: Number, delta    
  299.  
  300. R3CURVM_TRANSLATESELECTEDXFR = 49030;
  301.  
  302. function mR3CURVM_TRANSLATESELECTEDXFR(p1, p3) {
  303.   DoA2(this.r3obj, 49030, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  304. }
  305.  
  306. // Description: private 
  307.  
  308. R3CURVM_SHAPECHANGED = 49031;
  309.  
  310. function mR3CURVM_SHAPECHANGED() {
  311.   DoA(this.r3obj, 49031, 0, R3TID_INTEGER, 0);
  312. }
  313.  
  314. // Description: Checks if point is active
  315. // Returns: Boolean, TRUE if selected
  316. // p1: Integer, curve index
  317. // p3: Integer, point index    
  318.  
  319. R3CURVM_ISACTIVE = 49032;
  320.  
  321. function mR3CURVM_ISACTIVE(p1, p3) {
  322.   return   DoA2(this.r3obj, 49032, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  323. }
  324.  
  325. // Description: Set y coordinate for the selected points
  326. // p1: Integer, disable bits
  327. // p3: Number, new y value    
  328.  
  329. R3CURVM_SETSELECTEDY = 49033;
  330.  
  331. function mR3CURVM_SETSELECTEDY(p1, p3) {
  332.   DoA2(this.r3obj, 49033, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  333. }
  334.  
  335. // Description: Copies selection states from a given list to a sub curve
  336. // p1: Integer, sub curve index
  337. // p3: r3List, see R3CURVEPOINT nodes below    
  338.  
  339. R3CURVM_SELECTBYLIST = 49034;
  340.  
  341. function mR3CURVM_SELECTBYLIST(p1, p3) {
  342.   DoA2(this.r3obj, 49034, p1, R3TID_INTEGER, 0, p3, R3TID_LIST, 0);
  343. }
  344.  
  345. // Description: Translate selected points
  346. // p1: Integer, disable bits
  347. // p2: Boolean, if TRUE points are not moved outside R3CURVA_MinX... limits
  348. // p3: Number, array of two floats deltax & deltay    
  349.  
  350. R3CURVM_TRANSLATESELECTED = 49035;
  351.  
  352. function mR3CURVM_TRANSLATESELECTED(p1, p2, p3) {
  353.   DoA3(this.r3obj, 49035, p1, R3TID_INTEGER, 0, p2, R3TID_BOOLEAN, 0, p3, R3TID_FLOAT, 0);
  354. }
  355.  
  356. // Description: Insert new point to a curve.
  357. // Returns: Boolean, TRUE if point was added
  358. // p1: Number, array of x values (must match current R3CURVA_NCurves count)
  359. // p2: Number, array of y values
  360.  
  361. R3CURVM_ADDPOINTGENERAL = 49036;
  362.  
  363. function mR3CURVM_ADDPOINTGENERAL(p1, p2) {
  364.   return   DoA3(this.r3obj, 49036, p1, R3TID_FLOAT, 0, p2, R3TID_FLOAT, 0, 0, R3TID_INTEGER, 0);
  365. }
  366.  
  367. // Description: align selected points into a line from first selected to last selected point
  368. // p3: Integer, disable bits    
  369.  
  370. R3CURVM_ALIGNSELECTEDPOINTS = 49037;
  371.  
  372. function mR3CURVM_ALIGNSELECTEDPOINTS(p3) {
  373.   DoA(this.r3obj, 49037, p3, R3TID_INTEGER, 0);
  374. }
  375.  
  376. // Description: Sets the point geometry, does not change selection.
  377. // p3: Tag[], tag list containing R3CURVA_Points, R3CURVA_Points1, R3CURVA_Points2, R3CURVA_Points3.
  378.  
  379. R3CURVM_SETPOINTGEOMETRY = 49038;
  380.  
  381. function mR3CURVM_SETPOINTGEOMETRY(p3) {
  382.   Do(this.r3obj, 49038, p3, R3TID_TAG, R3TNF_ARRAY);
  383. }
  384.  
  385. // Description: selects a point by sub curve and knot index
  386. // p1: Integer, sub curve index
  387. // p3: Integer, knot index    
  388.  
  389. R3CURVM_SELECTBYINDEX = 49039;
  390.  
  391. function mR3CURVM_SELECTBYINDEX(p1, p3) {
  392.   DoA2(this.r3obj, 49039, p1, R3TID_INTEGER, 0, p3, R3TID_INTEGER, 0);
  393. }
  394.  
  395. // Description: Find next point closest to the given x value. The passed x value    * will
  396. //      be replaced by the x coord. of the next key.
  397. // Returns: Boolean, true if found, false if not.
  398. // p3: Number, x value    
  399.  
  400. R3CURVM_GETNEXTPOINTBYX = 49040;
  401.  
  402. function mR3CURVM_GETNEXTPOINTBYX(p3) {
  403.   return   DoA(this.r3obj, 49040, p3, R3TID_FLOAT, 0);
  404. }
  405.  
  406. // Description: Find previous point closest to the given x value. The passed x value    * will
  407. //      be replaced by the x coord. of the next key.
  408. // Returns: Boolean, true if found, false if not.
  409. // p3: Number, x value    
  410.  
  411. R3CURVM_GETPREVPOINTBYX = 49041;
  412.  
  413. function mR3CURVM_GETPREVPOINTBYX(p3) {
  414.   return   DoA(this.r3obj, 49041, p3, R3TID_FLOAT, 0);
  415. }
  416.  
  417. // Description: Select curves within the given X range
  418. // Returns: Integer, number of points selected
  419. // p1: Integer, mask specifying disabled curves
  420. // p3: Number, end value    
  421.  
  422. R3CURVM_SELECTRANGE = 49042;
  423.  
  424. function mR3CURVM_SELECTRANGE(p1, p3) {
  425.   return   DoA2(this.r3obj, 49042, p1, R3TID_INTEGER, 0, p3, R3TID_FLOAT, 0);
  426. }
  427.  
  428. // Description: Shift curves to start from origin in y dimension
  429. // p3: Integer, disabled mask    
  430.  
  431. R3CURVM_SHIFTTOORIGINY = 49043;
  432.  
  433. function mR3CURVM_SHIFTTOORIGINY(p3) {
  434.   DoA(this.r3obj, 49043, p3, R3TID_INTEGER, 0);
  435. }
  436.  
  437.  
  438.  
  439.  
  440. R3CURVA_Points = 49500;
  441. function SetR3CURVA_Points(value) {
  442.   R3Set(this.r3obj, R3CURVA_Points, value, R3TID_LIST, R3TNF_ARRAY); 
  443. }
  444.  
  445. function GetR3CURVA_Points() {
  446.   return R3Get(this.r3obj, R3CURVA_Points, R3TID_LIST, R3TNF_ARRAY); 
  447. }
  448.  
  449. R3CURVA_Points1 = 49501;
  450. function SetR3CURVA_Points1(value) {
  451.   R3Set(this.r3obj, R3CURVA_Points1, value, R3TID_LIST, R3TNF_ARRAY); 
  452. }
  453.  
  454. function GetR3CURVA_Points1() {
  455.   return R3Get(this.r3obj, R3CURVA_Points1, R3TID_LIST, R3TNF_ARRAY); 
  456. }
  457.  
  458. R3CURVA_Points2 = 49502;
  459. function SetR3CURVA_Points2(value) {
  460.   R3Set(this.r3obj, R3CURVA_Points2, value, R3TID_LIST, R3TNF_ARRAY); 
  461. }
  462.  
  463. function GetR3CURVA_Points2() {
  464.   return R3Get(this.r3obj, R3CURVA_Points2, R3TID_LIST, R3TNF_ARRAY); 
  465. }
  466.  
  467. R3CURVA_Points3 = 49503;
  468. function SetR3CURVA_Points3(value) {
  469.   R3Set(this.r3obj, R3CURVA_Points3, value, R3TID_LIST, R3TNF_ARRAY); 
  470. }
  471.  
  472. function GetR3CURVA_Points3() {
  473.   return R3Get(this.r3obj, R3CURVA_Points3, R3TID_LIST, R3TNF_ARRAY); 
  474. }
  475.  
  476. R3CURVA_NCurves = 49504;
  477. function SetR3CURVA_NCurves(value) {
  478.   R3Set(this.r3obj, R3CURVA_NCurves, value, R3TID_INTEGER, 0); 
  479. }
  480.  
  481. function GetR3CURVA_NCurves() {
  482.   return R3Get(this.r3obj, R3CURVA_NCurves, R3TID_INTEGER, 0); 
  483. }
  484.  
  485. R3CURVA_NumPoints = 49505;
  486. function SetR3CURVA_NumPoints(value) {
  487.   R3Set(this.r3obj, R3CURVA_NumPoints, value, R3TID_INTEGER, 0); 
  488. }
  489.  
  490. R3CURVA_MaxX = 49506;
  491. function SetR3CURVA_MaxX(value) {
  492.   R3Set(this.r3obj, R3CURVA_MaxX, value, R3TID_FLOAT, 0); 
  493. }
  494.  
  495. function GetR3CURVA_MaxX() {
  496.   return R3Get(this.r3obj, R3CURVA_MaxX, R3TID_FLOAT, 0); 
  497. }
  498.  
  499. R3CURVA_MinX = 49507;
  500. function SetR3CURVA_MinX(value) {
  501.   R3Set(this.r3obj, R3CURVA_MinX, value, R3TID_FLOAT, 0); 
  502. }
  503.  
  504. function GetR3CURVA_MinX() {
  505.   return R3Get(this.r3obj, R3CURVA_MinX, R3TID_FLOAT, 0); 
  506. }
  507.  
  508. R3CURVA_MaxY = 49508;
  509. function SetR3CURVA_MaxY(value) {
  510.   R3Set(this.r3obj, R3CURVA_MaxY, value, R3TID_FLOAT, 0); 
  511. }
  512.  
  513. function GetR3CURVA_MaxY() {
  514.   return R3Get(this.r3obj, R3CURVA_MaxY, R3TID_FLOAT, 0); 
  515. }
  516.  
  517. R3CURVA_MinY = 49509;
  518. function SetR3CURVA_MinY(value) {
  519.   R3Set(this.r3obj, R3CURVA_MinY, value, R3TID_FLOAT, 0); 
  520. }
  521.  
  522. function GetR3CURVA_MinY() {
  523.   return R3Get(this.r3obj, R3CURVA_MinY, R3TID_FLOAT, 0); 
  524. }
  525.  
  526. R3CURVA_Type = 49510;
  527. function SetR3CURVA_Type(value) {
  528.   R3Set(this.r3obj, R3CURVA_Type, value, R3TID_INTEGER, 0); 
  529. }
  530.  
  531. function GetR3CURVA_Type() {
  532.   return R3Get(this.r3obj, R3CURVA_Type, R3TID_INTEGER, 0); 
  533. }
  534.  
  535. R3CURVA_PointCount0 = 49511;
  536. function GetR3CURVA_PointCount0() {
  537.   return R3Get(this.r3obj, R3CURVA_PointCount0, R3TID_INTEGER, 0); 
  538. }
  539.  
  540. R3CURVA_PointCount1 = 49512;
  541. function GetR3CURVA_PointCount1() {
  542.   return R3Get(this.r3obj, R3CURVA_PointCount1, R3TID_INTEGER, 0); 
  543. }
  544.  
  545. R3CURVA_PointCount2 = 49513;
  546. function GetR3CURVA_PointCount2() {
  547.   return R3Get(this.r3obj, R3CURVA_PointCount2, R3TID_INTEGER, 0); 
  548. }
  549.  
  550. R3CURVA_PointCount3 = 49514;
  551. function GetR3CURVA_PointCount3() {
  552.   return R3Get(this.r3obj, R3CURVA_PointCount3, R3TID_INTEGER, 0); 
  553. }
  554.  
  555. R3CURVA_IsQuaternion = 49515;
  556. function SetR3CURVA_IsQuaternion(value) {
  557.   R3Set(this.r3obj, R3CURVA_IsQuaternion, value, R3TID_INTEGER, 0); 
  558. }
  559.  
  560. function GetR3CURVA_IsQuaternion() {
  561.   return R3Get(this.r3obj, R3CURVA_IsQuaternion, R3TID_INTEGER, 0); 
  562. }
  563.  
  564. R3CURVA_AlsoChangesObj = 49516;
  565. function SetR3CURVA_AlsoChangesObj(value) {
  566.   R3Set(this.r3obj, R3CURVA_AlsoChangesObj, value, R3TID_OBJECT, 0); 
  567. }
  568.  
  569. R3CURVA_AlsoChangesMth = 49517;
  570. function SetR3CURVA_AlsoChangesMth(value) {
  571.   R3Set(this.r3obj, R3CURVA_AlsoChangesMth, value, R3TID_INTEGER, 0); 
  572. }
  573.  
  574. R3CURVA_NewKeyTolerance = 49518;
  575. function SetR3CURVA_NewKeyTolerance(value) {
  576.   R3Set(this.r3obj, R3CURVA_NewKeyTolerance, value, R3TID_FLOAT, 0); 
  577. }
  578.  
  579. function GetR3CURVA_NewKeyTolerance() {
  580.   return R3Get(this.r3obj, R3CURVA_NewKeyTolerance, R3TID_FLOAT, 0); 
  581. }
  582.  
  583. var R3CURVA_Rescale = 49519; // Boolean
  584. R3CURVA_PrepareChangesMth = 49520;
  585. function SetR3CURVA_PrepareChangesMth(value) {
  586.   R3Set(this.r3obj, R3CURVA_PrepareChangesMth, value, R3TID_INTEGER, 0); 
  587. }
  588.  
  589. var R3CURVA_AddPointMask = 49521; // Integer
  590. var R3CURVA_AddPointCondition = 49522; // Integer
  591. var R3CURVA_AddPointTolerance = 49523; // Number[]
  592. R3CURVA_AngleType = 49524;
  593. function SetR3CURVA_AngleType(value) {
  594.   R3Set(this.r3obj, R3CURVA_AngleType, value, R3TID_INTEGER, 0); 
  595. }
  596.  
  597. function GetR3CURVA_AngleType() {
  598.   return R3Get(this.r3obj, R3CURVA_AngleType, R3TID_INTEGER, 0); 
  599. }
  600.  
  601. var R3CAT_NONE = 0;
  602. var R3CAT_HPB = 1;
  603. var R3CAT_HPT = 2;
  604. var R3CUTY_NURBS = 0;
  605. var R3CUTY_POLYLINE = 1;
  606. var R3CUTY_BOOLEAN = 2;
  607. var R3CUTY_NURBS2 = 3;
  608. var R3CUTY_BEZIER = 4;
  609. var R3CAP_ALWAYS = 0;
  610. var R3CAP_IF_ON_LINE = 1;
  611. var R3CAP_IF_NOT_ON_LINE = 2;
  612.  
  613.  
  614. function r3Curve () { 
  615.    this.base = r3God;
  616.    if(arguments.length) {
  617.       this.base(R3CLID_CURVE, arguments);
  618.    }
  619.    // Methods
  620.    this.TRANSFORM_I=mR3CURVM_TRANSFORM_I;
  621.    this.TRANSFORM_F=mR3CURVM_TRANSFORM_F;
  622.    this.TRANSFORM_V=mR3CURVM_TRANSFORM_V;
  623.    this.TRANSFORM_C=mR3CURVM_TRANSFORM_C;
  624.    this.TRANSFORM_FN=mR3CURVM_TRANSFORM_FN;
  625.    this.FLATLINES=mR3CURVM_FLATLINES;
  626.    this.ADDPOINTIFNOTONLINE=mR3CURVM_ADDPOINTIFNOTONLINE;
  627.    this.ADDPOINTIFONLINE=mR3CURVM_ADDPOINTIFONLINE;
  628.    this.ADDPOINT=mR3CURVM_ADDPOINT;
  629.    this.EVALXYPOINTS=mR3CURVM_EVALXYPOINTS;
  630.    this.DERIVE=mR3CURVM_DERIVE;
  631.    this.SETDERIVATIVE=mR3CURVM_SETDERIVATIVE;
  632.    this.TRANSFORM_V4=mR3CURVM_TRANSFORM_V4;
  633.    this.TRANSFORM_C4=mR3CURVM_TRANSFORM_C4;
  634.    this.SCALEPOINTSX=mR3CURVM_SCALEPOINTSX;
  635.    this.ADDFIRSTTOEND=mR3CURVM_ADDFIRSTTOEND;
  636.    this.ADDLASTTOBEGINNING=mR3CURVM_ADDLASTTOBEGINNING;
  637.    this.SIMPLIFY=mR3CURVM_SIMPLIFY;
  638.    this.SETACTIVE=mR3CURVM_SETACTIVE;
  639.    this.TRANSFORMPOINTSX=mR3CURVM_TRANSFORMPOINTSX;
  640.    this.UNSELECTALL=mR3CURVM_UNSELECTALL;
  641.    this.SELECTBYX=mR3CURVM_SELECTBYX;
  642.    this.TRANSLATESELECTEDX=mR3CURVM_TRANSLATESELECTEDX;
  643.    this.DELETESELECTEDPOINTS=mR3CURVM_DELETESELECTEDPOINTS;
  644.    this.SETSELECTEDX=mR3CURVM_SETSELECTEDX;
  645.    this.DELETEALLPOINTS=mR3CURVM_DELETEALLPOINTS;
  646.    this.SETMINMAX=mR3CURVM_SETMINMAX;
  647.    this.DUPLICATESELECTEDPOI=mR3CURVM_DUPLICATESELECTEDPOI;
  648.    this.TRANSLATESELECTEDXFR=mR3CURVM_TRANSLATESELECTEDXFR;
  649.    this.SHAPECHANGED=mR3CURVM_SHAPECHANGED;
  650.    this.ISACTIVE=mR3CURVM_ISACTIVE;
  651.    this.SETSELECTEDY=mR3CURVM_SETSELECTEDY;
  652.    this.SELECTBYLIST=mR3CURVM_SELECTBYLIST;
  653.    this.TRANSLATESELECTED=mR3CURVM_TRANSLATESELECTED;
  654.    this.ADDPOINTGENERAL=mR3CURVM_ADDPOINTGENERAL;
  655.    this.ALIGNSELECTEDPOINTS=mR3CURVM_ALIGNSELECTEDPOINTS;
  656.    this.SETPOINTGEOMETRY=mR3CURVM_SETPOINTGEOMETRY;
  657.    this.SELECTBYINDEX=mR3CURVM_SELECTBYINDEX;
  658.    this.GETNEXTPOINTBYX=mR3CURVM_GETNEXTPOINTBYX;
  659.    this.GETPREVPOINTBYX=mR3CURVM_GETPREVPOINTBYX;
  660.    this.SELECTRANGE=mR3CURVM_SELECTRANGE;
  661.    this.SHIFTTOORIGINY=mR3CURVM_SHIFTTOORIGINY;
  662.  
  663.    // Attributes
  664.    this.GetPoints=GetR3CURVA_Points;
  665.    this.SetPoints=SetR3CURVA_Points;
  666.    this.GetPoints1=GetR3CURVA_Points1;
  667.    this.SetPoints1=SetR3CURVA_Points1;
  668.    this.GetPoints2=GetR3CURVA_Points2;
  669.    this.SetPoints2=SetR3CURVA_Points2;
  670.    this.GetPoints3=GetR3CURVA_Points3;
  671.    this.SetPoints3=SetR3CURVA_Points3;
  672.    this.GetNCurves=GetR3CURVA_NCurves;
  673.    this.SetNCurves=SetR3CURVA_NCurves;
  674.    this.SetNumPoints=SetR3CURVA_NumPoints;
  675.    this.GetMaxX=GetR3CURVA_MaxX;
  676.    this.SetMaxX=SetR3CURVA_MaxX;
  677.    this.GetMinX=GetR3CURVA_MinX;
  678.    this.SetMinX=SetR3CURVA_MinX;
  679.    this.GetMaxY=GetR3CURVA_MaxY;
  680.    this.SetMaxY=SetR3CURVA_MaxY;
  681.    this.GetMinY=GetR3CURVA_MinY;
  682.    this.SetMinY=SetR3CURVA_MinY;
  683.    this.GetType=GetR3CURVA_Type;
  684.    this.SetType=SetR3CURVA_Type;
  685.    this.GetPointCount0=GetR3CURVA_PointCount0;
  686.    this.GetPointCount1=GetR3CURVA_PointCount1;
  687.    this.GetPointCount2=GetR3CURVA_PointCount2;
  688.    this.GetPointCount3=GetR3CURVA_PointCount3;
  689.    this.GetIsQuaternion=GetR3CURVA_IsQuaternion;
  690.    this.SetIsQuaternion=SetR3CURVA_IsQuaternion;
  691.    this.SetAlsoChangesObj=SetR3CURVA_AlsoChangesObj;
  692.    this.SetAlsoChangesMth=SetR3CURVA_AlsoChangesMth;
  693.    this.GetNewKeyTolerance=GetR3CURVA_NewKeyTolerance;
  694.    this.SetNewKeyTolerance=SetR3CURVA_NewKeyTolerance;
  695.    this.SetPrepareChangesMth=SetR3CURVA_PrepareChangesMth;
  696.    this.GetAngleType=GetR3CURVA_AngleType;
  697.    this.SetAngleType=SetR3CURVA_AngleType;
  698. }
  699.  
  700. r3Curve.prototype=new r3Model;
  701. // r3curve.h_H